namespace ext.dd
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>
	/// Provides easy access to all drag drop components that are registered on a page. Items can be retrieved either
	/// directly by DOM node id, or by passing in the drag drop event that occurred and looking up the event target.
	/// </summary>
	/// <definedin>src\dd\Registry.js</definedin>
	[ScriptName("Registry")]
	[ScriptNamespace("Ext.dd")]
	[Imported()]
	public partial class Registry
	{
		
		#region Constructors
		/// <summary>Constructor</summary>
		internal Registry()
		{
		}
		#endregion
		
		#region Methods
		/// <summary>Returns the handle that is registered for the DOM node that is the target of the event</summary>
		/// <definedin>src\dd\Registry.js</definedin>
		/// <param name="e">The event</param>
		/// <returns>handle The custom handle data</returns>
		[ScriptName("getHandleFromEvent")]
		public object GetHandleFromEvent(System.Html.ElementEvent e)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns a custom data object that is registered for the DOM node that is the target of the event</summary>
		/// <definedin>src\dd\Registry.js</definedin>
		/// <param name="e">The event</param>
		/// <returns>data The custom data</returns>
		[ScriptName("getTargetFromEvent")]
		public object GetTargetFromEvent(System.Html.ElementEvent e)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Resgister a drag drop element</summary>
		/// <definedin>src\dd\Registry.js</definedin>
		/// <param name="element">The id or DOM node to register</param>
		/// <param name="data">
		/// An custom data object that will be passed between the elements that are involved
		/// in drag drop operations. You can populate this object with any arbitrary properties that your own code
		/// knows how to interpret, plus there are some specific properties known to the Registry that should be
		/// populated in the data object (if applicable):
		/// &lt;pre&gt;
		/// Value Description&lt;br /&gt;
		/// --------- ------------------------------------------&lt;br /&gt;
		/// handles Array of DOM nodes that trigger dragging&lt;br /&gt;
		/// for the element being registered&lt;br /&gt;
		/// isHandle True if the element passed in triggers&lt;br /&gt;
		/// dragging itself, else false
		/// &lt;/pre&gt;
		/// </param>
		[ScriptName("register")]
		public void Register(string element, object data)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Resgister a drag drop element</summary>
		/// <definedin>src\dd\Registry.js</definedin>
		/// <param name="element">The id or DOM node to register</param>
		/// <param name="data">
		/// An custom data object that will be passed between the elements that are involved
		/// in drag drop operations. You can populate this object with any arbitrary properties that your own code
		/// knows how to interpret, plus there are some specific properties known to the Registry that should be
		/// populated in the data object (if applicable):
		/// &lt;pre&gt;
		/// Value Description&lt;br /&gt;
		/// --------- ------------------------------------------&lt;br /&gt;
		/// handles Array of DOM nodes that trigger dragging&lt;br /&gt;
		/// for the element being registered&lt;br /&gt;
		/// isHandle True if the element passed in triggers&lt;br /&gt;
		/// dragging itself, else false
		/// &lt;/pre&gt;
		/// </param>
		[ScriptName("register")]
		public void Register(System.Html.Element element, object data)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Resgister a drag drop element</summary>
		/// <definedin>src\dd\Registry.js</definedin>
		/// <param name="element">The id or DOM node to register</param>
		[ScriptName("register")]
		public void Register(string element)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Resgister a drag drop element</summary>
		/// <definedin>src\dd\Registry.js</definedin>
		/// <param name="element">The id or DOM node to register</param>
		[ScriptName("register")]
		public void Register(System.Html.Element element)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Unregister a drag drop element</summary>
		/// <definedin>src\dd\Registry.js</definedin>
		/// <param name="element">The id or DOM node to unregister</param>
		[ScriptName("unregister")]
		public void Unregister(string element)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Unregister a drag drop element</summary>
		/// <definedin>src\dd\Registry.js</definedin>
		/// <param name="element">The id or DOM node to unregister</param>
		[ScriptName("unregister")]
		public void Unregister(System.Html.Element element)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the handle registered for a DOM Node by id</summary>
		/// <definedin>src\dd\Registry.js</definedin>
		/// <param name="id">The DOM node or id to look up</param>
		/// <returns>handle The custom handle data</returns>
		[ScriptName("getHandle")]
		public object GetHandle(string id)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns the handle registered for a DOM Node by id</summary>
		/// <definedin>src\dd\Registry.js</definedin>
		/// <param name="id">The DOM node or id to look up</param>
		/// <returns>handle The custom handle data</returns>
		[ScriptName("getHandle")]
		public object GetHandle(System.Html.Element id)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns a custom data object that is registered for a DOM node by id</summary>
		/// <definedin>src\dd\Registry.js</definedin>
		/// <param name="id">The DOM node or id to look up</param>
		/// <returns>data The custom data</returns>
		[ScriptName("getTarget")]
		public object GetTarget(string id)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Returns a custom data object that is registered for a DOM node by id</summary>
		/// <definedin>src\dd\Registry.js</definedin>
		/// <param name="id">The DOM node or id to look up</param>
		/// <returns>data The custom data</returns>
		[ScriptName("getTarget")]
		public object GetTarget(System.Html.Element id)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
